package com.iotimc.attendancesystem.datautil;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

public class SQLiteHelper extends SQLiteOpenHelper{
	
	private static final String DATABASE_NAME= "attendance.db";
	private static final int  DATABASE_VERSION = 1;//更改版本后数据库将重新创建
	private static final String TABLE_USER = "user_info";
	private static final String TABLE_ATTEND = "attend_info";
	
	/**
     * 在SQLiteOpenHelper的子类当中，必须有这个构造函数
     * @param context     当前的Activity
     * @param name        表的名字（而不是数据库的名字，这个类是用来操作数据库的）
     * @param factory      用来在查询数据库的时候返回Cursor的子类，传空值
     * @param version      当前的数据库的版本，整数且为递增的数
     */
    public SQLiteHelper(Context context)
    {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);//继承父类
        // TODO Auto-generated constructor stub
    }
/**
     * 该函数是在第一次创建数据库时执行，只有当其调用getreadabledatebase()
     * 或者getwrittleabledatebase()而且是第一创建数据库是才会执行该函数
     */

    public void onCreate(SQLiteDatabase db)
    {
        // TODO Auto-generated method stub
        String sql = "CREATE TABLE " + TABLE_USER + "("
        		+ User_Info.ID +" INTEGER PRIMARY KEY AUTOINCREMENT,"
        		+ User_Info.COMPANY  + " VARCHAR(30), "
        		+ User_Info.USERNO + " VARCHAR(20) NOT NULL UNIQUE, "
        		+ User_Info.ISONJOB + " INTEGER, "
        		+ User_Info.UPDATETIME  + " VARCHAR(38), "
        		+ User_Info.PERMISSION + " INTEGER "
        		+ ")";
        db.execSQL(sql);
        
        Log.e("create","数据库表User创建成功");
        
        sql = "CREATE TABLE " + TABLE_ATTEND + "("
        		+ Attend_Info.ID +" INTEGER PRIMARY KEY AUTOINCREMENT,  "
        		+ User_Info.COMPANY  + " VARCHAR(30), "
        		+ Attend_Info.USERID + "  VARCHAR(20), "
        		+ Attend_Info.TIME + "  VARCHAR(38),  "
        		+ Attend_Info.UPDATETIME + "  VARCHAR(38)  "
        		+ ")";
        db.execSQL(sql);
        
        Log.e("create","数据库表Attend创建成功");
    }
/**
*数据库更新函数，当数据库更新时会执行此函数
*/

    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
    {
    	String sql = "DROP TABLE IF EXISTS " + TABLE_USER; 
    	db.execSQL(sql);
    	this.onCreate(db);
        // TODO Auto-generated method stub
        System.out.println("数据库已经更新");
        /**
         * 在此添加更新数据库是要执行的操作
         */
    }
    
//    @Override
//	public void onOpen(SQLiteDatabase db) {
//		super.onOpen(db);
//		if(!db.isReadOnly()) {
//			// Enable foreign key constraints
//			db.execSQL("PRAGMA foreign_keys=ON;");
//		}
//	}
  
}